I. Field of the Invention
The present invention relates to the field of communications. More particularly, the present invention relates to a novel and improved pseudorandom noise (PN) generator for generating a PN code sequence capable of being used for direct sequence spreading of a communication signal in a spread spectrum communication system.
II. Description of the Related Art
Pseudo-noise or pseudorandom noise generators are commonly used for bandwidth spreading of a digital signal in a direct sequence spread spectrum communication system. In such systems, such as a Code Division Multiple Access (CDMA) system, the PN sequence is commonly generated by a Linear Sequence Shift Register (LSSR).
The LSSR is comprised of an N-stage shift register, with some intervening exclusive-OR gates to program a specific PN sequence. The location of the exclusive-OR gates is determined by the defining polynomial of the circuit which in turn, determines which one of the possible sequences will be generated. There are a total of 2.sup.(N-1) -1 polynomials for a generator of length N. Only a fraction, about 10%, produce a "maximal" length sequence. A "maximal" length sequence is of length 2.sup.N -1.
For example, a generator with 15 stages and a maximal polynomial will produce a sequence that is 32,767 bits (or "chips") long. In this example, the sequence will contain a single run of 15 ones in a row, and a single run of 14 zeroes in a row. All other runs of ones and zeroes are shorter in length. Every maximal length sequence generator with N stages produces a single run of N ones in a row and a single run of N-1 zeroes in a row.
In many practical applications of PN sequence generators, a sequence length of 2.sup.N -1 is inconvenient because these numbers contain few factors and are frequently prime numbers. This makes it difficult to synchronize a system which contains processes operating at a lower rate than the PN chip rate.
In a practical example, a PN sequence rate of 1.2288 MHz is desired along with a data modulation rate of 9600 bits per second. The information bits are exclusive-ORed with the PN sequence and the result is bi-phase modulated onto an RF carrier for transmission. This provides 128 PN "chips" per information bit. In another mode of operation, the PN rate would remain the same but the data rate would be reduced to 4800 bits per second or 256 PN "chips" per information bit. It would be desirable to synchronize the data modulation to the PN sequence repetition. However, if the sequence is of length 32767, i.e. 2.sup.15 -1, which has only the factors 7, 31 and 151, then the repetition interval of the PN code and the above two data rates will only coincide every 128 or 256 repetition intervals of the PN sequence. This coincidence occurs only every 3.4 or 6.8 seconds, respectively.
It can be seen from the above that it would be highly desirable for the length of the PN sequence to be a power of two to permit a greater frequency of coincidence in repetition interval of the PN code for multiple data rates. Besides allowing a multiplicity of different data rate modes sharing a common PN chip rate, information bits may be synchronized as soon as the PN sequence synchronization is obtained, thus greatly simplifying the operation of the receiver. In the above example, if the PN sequence is increased to 32768, then whenever the sequence repeats, the synchronization of the 4800 or 9600 bps modulation also repeats. Therefore, as soon as the PN sequence is synchronized, which must necessarily come first anyway, the data modulation circuitry is automatically also in synchronization.
It is therefore an object of the present invention to provide a novel and improved PN sequence generator which generates a PN sequence that is a power of two in length.
It is another object of the present invention to provide a PN generator that permits a selectable phase offset to the PN sequence wherein a change in phase offset selection immediately affects the phase offset output.